package com.ce.pms.charge.vo;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 应收交易VO
 * @author yandawei
 *
 */
public class DebitTransVO extends AbstractTransVO{

	/**
	 * long：serialVersionUID
	 */
	private static final long serialVersionUID = 5534584390359315662L;

	/**
	 * 收费项目id
	 */
	protected Long chargeItemId;

	/**
	 * 收费标准id
	 */
	protected Long chargeStdId;

	/**
	 * 收费标准版本id
	 */
	protected Long chargeStdVertionId;

	/**
	 * 借
	 * 如果是减免交易，本字段用作减免金额
	 */
	protected BigDecimal debit=new BigDecimal("0.00");

	/**
	 * 消费日期
	 */
	protected Date inputDate;

	/**
	 * 所属主交易
	 */
	protected DebitTransVO principalTrans;

	/**
	 * 应缴费用（计算减免，调整，滞纳金后的金额）
	 */
	protected BigDecimal receivablePrice;

	/***
	 * 本金交易ID
	 */
	protected Long rootTransId;

	/**
	 * 应收交易状态:001未缴;002已缴;003全额减免;004挂起;005出盘锁定
	 */
	protected String statuz;

	/**
	 *
	 */
	public DebitTransVO() {

	}

	/**
	 * 新增一个应收的构造器
	 * @param accountHouseId 账户所属房屋ID
	 * @param businessId 交易码ID
	 * @param houseId 来源产权房ID
	 * @param creator 创建人ID
	 * @param debit 应收借方金额
	 */
	public DebitTransVO(Long accountHouseId,Long businessId, Long houseId, Long creator, BigDecimal debit) {
		super(accountHouseId,businessId,houseId,creator);
		this.debit = debit;
	}

	/**
	 * @return the chargeItemId
	 */
	public Long getChargeItemId() {
		return chargeItemId;
	}

	/**
	 * @return 收费标准id
	 */
	public Long getChargeStdId() {
		return chargeStdId;
	}

	/**
	 * @return 收费标准版本id
	 */
	public Long getChargeStdVertionId() {
		return chargeStdVertionId;
	}

	public BigDecimal getDebit() {
		return this.debit;
	}

	/**
	 * @return the inputDate
	 */
	public Date getInputDate() {
		return inputDate;
	}

	/**
	 * @return the principalTrans
	 */
	public DebitTransVO getPrincipalTrans() {
		return principalTrans;
	}

	public BigDecimal getReceivablePrice() {
		return receivablePrice;
	}

	public Long getRootTransId() {
		return rootTransId;
	}

	/**
	 * 功能描述: 获取应收交易状态 <br>
	 * @return
	 *
	 * Create author:付湘辉 <br>
	 * Create on:2008-8-29  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public String getStatuz() {
		return this.statuz;
	}

	/**
	 * @param chargeItemId the chargeItemId to set
	 */
	public void setChargeItemId(Long chargeItemId) {
		this.chargeItemId = chargeItemId;
	}

	/**
	 * @param 收费标准id
	 */
	public void setChargeStdId(Long chargeStdId) {
		this.chargeStdId = chargeStdId;
	}

	/**
	 * @param 收费标准版本id
	 */
	public void setChargeStdVertionId(Long chargeStdVertionId) {
		this.chargeStdVertionId = chargeStdVertionId;
	}

	public void setDebit(BigDecimal debit) {
		this.debit = debit;
	}

	/**
	 * @param inputDate the inputDate to set
	 */
	public void setInputDate(Date inputDate) {
		this.inputDate = inputDate;
	}

	/**
	 * @param principalTrans the principalTrans to set
	 */
	public void setPrincipalTrans(DebitTransVO principalTrans) {
		this.principalTrans = principalTrans;
	}

	public void setReceivablePrice(BigDecimal receivablePrice) {
		this.receivablePrice = receivablePrice;
	}

	public void setRootTransId(Long rootTransId) {
		this.rootTransId = rootTransId;
	}

	/**
	 * 功能描述:  设置应收交易状态 <br>
	 * @param statuz
	 */
	public void setStatuz(String statuz) {
		this.statuz = statuz;
	}
}
